package com.fgxia.driver.domain.bo;

import com.ruoyi.common.annotation.Translation;
import com.ruoyi.common.constant.TransConstant;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * login driver bo
 *
 * @author yyt
 */
@Data
public class LoginDriverBo implements Serializable {

    /**
     * 司机id
     */
    @NotNull(message = "司机id不能为空", groups = { EditGroup.class })
    private Long driverId;

    /**
     * 手机号
     */
    @NotBlank(message = "手机号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String tel;

    /**
     * 用户照片
     */
    private String userImgUrl;

    /**
     * 备注
     */
    @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
    private String remark;

    /**
     * 其他参数
     */
    @NotBlank(message = "其他参数不能为空", groups = { AddGroup.class, EditGroup.class })
    private String elseParams;

    /**
     * 删除标志（0代表存在 1代表删除）
     */
    @NotNull(message = "删除标志（0代表存在 1代表删除）不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer isDeleted;

    /**
     * 真实姓名(司机)
     */
    @NotBlank(message = "真实姓名(司机)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String realName;

    /**
     * 身份证正面URL
     */
    @NotBlank(message = "身份证正面URL不能为空", groups = { AddGroup.class, EditGroup.class })
    private String cardFrontUrl;

    /**
     * 身份证反面URL
     */
    @NotBlank(message = "身份证反面URL不能为空", groups = { AddGroup.class, EditGroup.class })
    private String cardBackUrl;

    /**
     * 身份证号码(司机)
     */
    @NotBlank(message = "身份证号码(司机)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String cardId;

    /**
     * 用户类型(driver)
     */
    @NotBlank(message = "用户类型(driver)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String userType;

    /**
     * 车型
     */
    @NotBlank(message = "车型不能为空", groups = { AddGroup.class, EditGroup.class })
    private String carType;

    @Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "carType")
    private String carTypeLabel;

    /**
     * 车长
     */
    @NotNull(message = "车长不能为空", groups = { AddGroup.class, EditGroup.class })
    private Float carLength;

    /**
     * 开户行
     */
    @NotBlank(message = "开户行不能为空", groups = { AddGroup.class, EditGroup.class })
    private String openingBank;

    /**
     * 银行卡号
     */
    @NotBlank(message = "银行卡号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String creditCardNumbers;

    /**
     * 司机类型(直营|众包|专线)
     */
    @NotBlank(message = "司机类型(直营|众包|专线)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String driverType;

    @Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "driverType")
    private String driverTypeLabel;
}
